iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

昨天說要裝 docker + docker compose ,
其實也很簡單,
就照著官網做沒難度,
reference 放在後面

我們現在預計要有 3 台實驗 server

  • ubuntu-dev-machine
  • ubuntu-ci-server
  • ubuntu-staging-env

這三台都可以裝一樣的環境,
也就是 Python 3.10 + Ansible + Docker
並且設定

  • ubuntu-dev-machine -> ubuntu-staging-env
  • ubuntu-ci-server -> ubuntu-staging-env
    是可以 ssh without password 連通的,
    通常我還會多設定一個就是每台機器 ssh localhost 也是可以用 key,
    理由是我在操作 ansible 的時候,
    為了確保 playbook 的可移植性,
    即使是 localhost -> localhost 的操作,
    也往往會透過 ssh protocal

一不小心又講了一很多廢話,
以下安裝 docker + docker compose + without sudo,
先切成 ubuntu 的 non-root 使用者

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

這邊其實就是先載個 gpg key,
驗證一下要加入的 repo list 有沒有被改過,
做完其實可以 cat /etc/apt/sources.list.d/docker.list 確認 repo url 有正確被寫入
然後

sudo apt-get -y install docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-buildx-plugin \
    docker-compose-plugin

迅速地裝完了,
然後把現在的 $USER 也就是 ubuntu 加入到 docker 的 group 裡

sudo groupadd docker
sudo usermod -aG docker $USER

可以用 newgrp docker 確認一下有沒有加成功,
最後不免俗的跑個 hello world 打完收工

img

reference


上一篇
設定 non-root 管理者帳號
下一篇
安裝 Ansible AWX
系列文
我只是想自動執行 Ansible ,一定要用 Jenkins 嗎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言